package cn.aitrox.ry.service.auth.service;

import cn.aitrox.ry.bean.CommonPageInfo;
import cn.aitrox.ry.bean.RespResult;
import cn.aitrox.ry.service.auth.dto.permission.in.AuthPermissionCreateInDto;
import cn.aitrox.ry.service.auth.dto.permission.in.AuthPermissionSearchInDto;
import cn.aitrox.ry.service.auth.dto.permission.in.AuthPermissionUpdateInDto;
import cn.aitrox.ry.service.auth.dto.permission.out.AuthPermissionDetailDto;
import cn.aitrox.ry.service.auth.dto.resource.out.AuthResourceDetailDto;
import cn.aitrox.ry.service.auth.entity.AuthResourceEntity;

import java.util.List;

public interface AuthPermissionService {
    RespResult<Integer> create(AuthPermissionCreateInDto input);

    RespResult update(AuthPermissionUpdateInDto input);

    RespResult<AuthPermissionDetailDto> read(Integer id);

    RespResult delete(Integer id);

    AuthResourceDetailDto getAuthResourceDetail(Integer resourceId, List<AuthResourceEntity> allResourceEntity);

    CommonPageInfo<AuthPermissionDetailDto> search(AuthPermissionSearchInDto input);
}
